home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-12-11 | 36.6 KB | 949 lines | [TEXT/????] |
- Apple IIGS
- System Software
- Release Notes
- Version 5.0.4
- December 10th, 1990
-
-
- These release notes list the changes made from version 5.0.2 to 5.0.4 of the
- Apple IIGS System Software. Most of these changes were made for version
- 5.0.3; changes made from version 5.0.3 to version 5.0.4 are noted with 5.0.4
- in the margin.
-
- Miscellaneous Changes:
-
- The font Times.12 is now also deleted when you run the SCSI Hard Disk
- script. Times.12 is now on System.Tools disk as well as the System.Disk. Any
- script that copies the file Times.12 has been modified to copy it from
- /System.Tools/System/Fonts/ instead of /System.Disk/System/Fonts/.
-
- The ACE (Tool029) toolset has been moved from System.Disk to System.Tools. A
- new script has been added to install ACE. Several other scripts have also
- been changed to reflect this change in organization.
-
- The installer script SCSI Hard Disk has been modified slightly. This script
- now deletes the font Shaston.16 in additon to the Tutorials folder.
- Shaston.16 is now on the System.Tools disk as well as the System.Disk. Any
- script that copies the file Shaston.16 has been modified to copy it from
- /System.Tools/System/Fonts/ instead of /System.Disk/System/Fonts/.
-
- ToolBox Changes:
-
- ToolSets
-
- Window Manager v3.2 Tool014
-
- Defined new bit in TaskMaster (tmNoGetNextEvent, bit 21). When this bit is
- set, TaskMaster does not call GetNextEvent. Instead, it uses the data in the
- Event Record portion of the Task Record you pass.
-
- Menu Manager v3.2 Tool015
-
- Fixed a bug in DeleteMenu. The handle to the menu that was being removed
- was not getting unlocked.
-
- Fixed bug in NewMenuBar2. When the call was made using resources, the
- rMenuBar resource was not getting released properly when done. If the high
- word of the resource ID passed was zero, then the resource was just not
- released. Having a nonzero high word used to cause a fatal error.
-
- Control Manager v3.2 Tool016
-
- Fixed bug in Static Text controls. The justification field now works.
-
- Fixed a bug in NewControl2 where the owner port was not being set before the
- definition procedure was being called. This caused a problem in size
- calculation. With this fix, it is now safe to use NewWindow2 with attached
- controls.
-
- QuickDraw Auxiliary v3.3 Tool018 (5.0.4)
-
- Fixed bug in ClosePicture. If an error occurred in picture accumulation,
- ClosePicture could trash the first word of a random region (usually the clip
- region of the last window drawn to).
-
- 5.0.4: CopyPixels segment is now static instead of dynamic.
-
- 5.0.4: The top scan line on CalcMask is now handled properly. Two variables
- had been initialized improperly.
-
- 5.0.4: Rounding the pixel map buffer size to an even number of bytes in
- SeedFill and CalcMask now works if the low word of the size was $FFFF.
-
- 5.0.4: SeedFill and CalcMask no longer return a bogus error code in 640 pure
- mode.
-
- 5.0.4: Fixed a stack imbalance deep inside picture pixel map routines under
- low memory conditions.
-
- LineEdit v3.2 Tool020
-
- Fix bug in LEFromScrap. Two bytes of memory were getting trashed when
- LEFromScrap was made and there was an empty text scrap. The word that got
- trashed was $FFFE from where the Line Edit scrap is located.
-
- Dialog Manager v3.3 Tool021
-
- Fix bug in ModalDialog. ModalDialog was stealing all events from the event
- queue-instead it should have been leaving application events alone. This was
- only fixed for ROM 01 machines. For ROM 3 ModalDialog can still steal
- application events.
-
- Standard File v3.2 Tool023
-
- When in the Volumes list for "Get" dialogs you can now select a member in the
- list by using keystrokes.
-
- Fixed some spacing problems with "Get" dialogs in 320 mode.
-
- The wrong dialog item was being zeroed in the previous fix. Symptoms were
- if you called SFPMultiGet2 the second time you brought up this dialog, button
- item 5 would be blank. This has been fixed.
-
- Fixed a problem with using custom Standard File dialogs. Standard File
- physically patches certain items in the application's dialog template. For
- the Path item (item 6 in GET, item 7 in PUT) Standard File patches in an
- address to a routine that draws the path. Since this address points to a
- routine within Standard File, if someone unloaded the toolset and loaded it
- again, it is very probable that the toolset could load at a different memory
- location which would make this patched address invalid. Standard File only
- patches this item if the refdescriptor field is zero. The next time this
- dialog template is used, this field is now non-zero and therefore not patched
- again by Standard File. The bug is fixed by making sure that before the
- dialog is closed this field is zeroed out (if it was zero to begin with).
-
- If an unformatted disk is inserted while a standard file dialog is up, it is
- no longer just ignored. An error message is now displayed and the disk is
- ejected after the user selects OK.
-
- If prefix 8 or 0 (depending on old or new call) was set to a valid filename
- and not a directory name, all standard file calls would fail. This has been
- fixed.
-
- Whenever you initially brought up a standard file dialog the cursor would
- flicker back and forth from a watch cursor to an arrow cursor. This has been
- fixed.
-
- Hitting the <return> key in "Put" dialogs when the default button is inactive
- could cause problems because the <return> key is then passed onto the active
- edit line item. The <return> would erase any selected text in the edit line.
- This has been fixed.
-
- Fixed bug where multiple volumes could be selected in "Multi" dialogs. You
- can now only select one volume at a time when in the "volumes" list.
-
- If a volume was larger than 16MB the string that shows how much room was left
- on the volume currently being displayed was wrong. This has been fixed.
-
- When the promptRef passed is a resource and the resource cannot be found,
- Standard File would crash. This has been fixed. Standard File now returns
- with carry set and returns the error received from LoadResource call.
-
- Fixed bug in SFMultiGet2. No matter how many files were selected, the call
- would always return 1 as the number of files selected.
-
- Folders on AppleShare volumes that you do not have enough access privileges
- to are now displayed grayed out.
-
- When a disk is inserted that GS/OS cannot recognize an alert is put up and the
- disk is ejected when the user selects OK.
-
- In the "Put" dialogs, selecting New Folder now drops you into the folder
- that was just created.
-
- Hitting the <TAB> key no longer hilites the "Volumes" button.
-
- For the new "Put" calls (SFPutFile2, SFPPutFile2), fixed bug where trying to
- reference the origNameRef as a resource with the middle word of the resource
- ID equal to zero would not work.
-
- Disk switch events are now being monitored. A disk insert event now causes
- that disk's list of files to be displayed in the file list. A disk eject, if
- it is the currently displayed volume will cause the next volume's list of
- files to be displayed in the file list.
-
- The "Disk" button no longer advances to the next volume, instead selecting
- this button now displays the list of all volumes currently on-line (this is
- now titled the "Volumes" button).
-
- Selecting the pathname field or the "Close" button when the volume currently
- being displayed is at the root level also has the same response as selecting
- the "Volumes" button.
-
- You would encounter several problems if you tried to bring up a standard file
- dialog and there were no volumes on-line or if you ejected all the volumes
- while a dialog was already open.
-
- The default edit line name in "Put" dialogs is now highlighted.
-
- Fixed bug where system crashed after entering too many characters. The maximum
- number of characters that can be entered in any edit line field is limited to
- 32.
-
- Fixed bug where in 320 mode when a disk was locked the lock icon would not
- appear in the pathname field of the dialog.
-
- Fixed bug in SFRescan. The call would not work in 320 mode.
-
- Fixed bug in all the "Put" calls. When an illegal filename was entered by
- the user they were never notified that it was bad. Instead Standard File
- would just skip to the next volume.
-
- Font Manager v3.2 Tool027
-
- If one of the buffers the Font Manager gets during FMStartup crosses a bank
- boundary in the right way FMStartup could return a bogus error. This has been
- fixed.
-
- Fixed bug in FMStartUp where a partially created FONT.LISTS file would be left
- around if it could not be created successfully. This could cause the system
- to crash. Now if anything goes wrong when creating the FONT.LISTS file it
- will be deleted.
-
- Fix bug in ChooseFont and InstallWithStats. Occasionally when a font had to
- be created ChooseFont and InstallWithStats would not be able to create the
- font because it encountered a memory error even though there was enough
- memory to create the font. This fix just makes this whole process of having
- to create a font more robust.
-
- The watch cursor is now put up when ChooseFont has to call InstallFont.
-
- List Manager v3.2 Tool028
-
- Fixed bug in NewList2. Problems would arise when NewList2 was called and the
- list grew.
-
- ACE v1.2 Tool029
-
- Re-written to improve performance.
-
- Resource Manager v1.1 Tool030
-
- Fixed bug where the resource map was getting corrupted (this would cause the
- file's resources to get trashed). Whenever the resource manager had to join
- two free blocks (in its own free block list) the resulting block was not
- correctly sized.
-
- Fix a bug relating to restarting the OS. While the resource manager was
- working fine, it no longer had Sys.Resources in its search path (that is,
- running a P8 application from the Finder and then returning to GS/OS would
- cause problems such as Standard File being unable to display a Replace/Cancel
- dialog).
-
- TextEdit v1.2 Tool034
-
- Fixed a bug where, in certain instances, super blocks were not ending in a
- carriage return.
-
- Fixed a problem in TEGetSelectionStyle where the common style flags did not
- properly reflect the common styles that were in use.
-
- Fixed super block trashing bug where a deletion would cause a super block to
- end without a carrige return.
-
- Fixed LETextBox2 output. Note: This output is still not a supported option
- in TextEdit. However, it should work for small blocks of text with
- reasonable numbers of styles.
-
- Fixed a bug in the Idle routine that would corrupt the superblock list if
- the fixblocklist routine was called to join 2 small blocks.
-
- Fixed a bug in TESetText which corrupted the text edit record if the length
- of the incoming text was 0.
-
- Fixed a bug in the TEGetText routine that would trash the contents of memory
- if you tried to retrieve too much text into a Pascal string.
-
- When an invisible TextEdit control is created the scroll bar is still
- visible. This has been fixed.
-
- Fixed control so that the selection is not outlined when a control is made
- invisible.
-
- Fixed deletion bug which trashed the block list if large blocks were deleted
- from a record.
-
- Fixed the Text Edit control definition procedure so that initial style is
- properly set up when you use less than 13 as your pcount. This was causing
- some hangs and out of memory indications at NewControl2 time. This could also
- cause bad style lists and improper handling of style changes.
-
- TS2 (patch for ROM 01)
-
- This patch file has been segmented so that the initialization code can be
- disposed of when the patch has been loaded. This will mean that QDBootInit
- cannot be called again (but that was the case anyway).
-
- Memory Manager v3.1
-
- Fix bug in DisposeHandle. Put in check to make sure that the handle being
- disposed was a valid handle.
-
- QuickDraw II v3.5
-
- SetGrafProcs no longer increments the BUSY flag too many times.
-
- Added bit to QDStartup MasterSCB flags that says to not load/use FastFont.
- The noFastFont bit has value $1000 in the MasterSCB word.
-
- Fixed bug in all region op calls that would leave region handles locked
- after certain operations.
-
- Fix bug in QDShutDown. Shadowed memory was not being released properly when
- shadowing was turned on.
-
- Fix bug in RectInRgn. The high word of a variable being used was not being
- zeroed out correctly.
-
- Desk Manager v3.3
-
- Fixed bug in RemoveNDA. The call was not properly removing the NDA from the
- NDA list. If you tried removing NDAs in the same order you installed them and
- then tried quitting the application, you would die a horrible death.
-
- Sound v3.3
-
- Fixed bug in FFStartSound.
-
- Fixed FFStartPlaying to no longer garble sound when SampleSize is less than
- or equal to 2*BufferSize.
-
- Fixed FFSoundDoneStatus to operate correctly when SampleSize is less than or
- equal to 2*BufferSize.
-
- Miscellaneous Tools v3.1
-
- Added new call, ConvSeconds ($3703). See the attached pages at the end of
- these release notes for documentation for ConvSeconds.
-
- Added address $00FF to the GetAddr function. This address is the location of
- the serial port buffer pointers. (These data structures are not currently
- documented, so don't use them.)
-
- TS3 (patch for ROM 03)
-
- This patch file has been segmented so that the initialization code can be
- disposed of when the patch has been loaded. This will mean that QDBootInit
- cannot be called again (but that was the case anyway).
-
- Tool.Setup (this is the init that loads the patch files)
-
- Fix bug in GetNewID that only occurs on ROM 03 machines. The first ID
- reserved was always lost. Since GetNewID is called before the patch can be
- loaded but not before the init is run, we make the fix here.
-
- Memory Manager v3.1
-
- Fix bug in DisposeHandle. Put in check to make sure that the handle being
- disposed was a valid handle.
-
- QuickDraw II v3.6 (5.0.4)
-
- Added bit to QDStartup MasterSCB flags that says to not load and use
- FastFont. The noFastFont bit has value $1000 in the MasterSCB word.
-
- Fixed bug in all region operation calls that would leave region handles
- locked after certain operations.
-
- Fixed bug in seekRgn. It would crash/hang/generate garbage when seeking a
- non- rectangular region up instead of down. This should fix many problems with
- ScrollRect and the bit transfer routines.
-
- Fixed backwards slices for all pixel transfer operations (they would usually
- crash).
-
- 5.0.4: Fixed QDStartUp to make sure the cursor image handle is safe. This
- patch is identical to one that's been in TS2 or Tool.Setup since May 1987.
-
- Desk Manager v3.3
-
- Fixed a bug in RemoveNDA. The call was not properly removing the NDA from
- the NDA list. If you tried removing NDAs in the same order you installed them
- and then tried quitting the application, you would die a horrible death.
-
- Sound v3.3
-
- See changes in TS2 patch for Sound Tools.
-
- Miscellaneous Tools v3.1
-
- See changes in TS2 patch for Miscellaneous Tools.
-
- Window Manager v3.2
-
- See changes for Window Manager toolset.
-
- Menu Manager v3.2
-
- See changes for Menu Manager toolset.
-
- Control Manager v3.2
-
- See changes for Control Manager toolset.
-
- LineEdit v3.2
-
- See changes for Line Edit toolset.
-
- Font Manager v3.2
-
- Patch to FMStartup. See changes for Font Manager toolset.
-
- Fixed bug in ChooseFont. There was a bug fix in the call InstallFont that
- was patched for 5.0 that never got incorporated into ChooseFont, which calls
- InstallFont.
-
- List Manager v3.2
-
- See changes for List Manager toolset.
-
- Printer Drivers
-
- Imagewriter LQ v4.1 (5.0.4)
-
- Version 4.0 is all new for System Disk 5.0.3. All new features are
- described in a separate document not included with these release notes.
-
- 5.0.4: Worked around a strange behavior of PAP by calling PrDevStatus a second
- time if any tool errors occur the first time.
-
- 5.0.4: Modified the end of PrCloseDoc to insure that all spooling resources
- are released if there is a print loop error.
-
- 5.0.4: Spooling now occurs to the user folder if you booted over AppleShare.
-
- 5.0.4: Changed spacing around the "/" in the top line of the dialog boxes.
-
- 5.0.4: More robust and correct error checking implemented.
-
-
- Imagewriter v4.1 (5.0.4)
-
- Version 4.0 is all new for System Disk 5.0.3. All new features are
- described in a separate document not included with these release notes.
-
- 5.0.4: Worked around a strange behavior of PAP by calling PrDevStatus a second
- time if any tool errors occur the first time.
-
- 5.0.4: Modified the end of PrCloseDoc to insure that all spooling resources
- are released if there is a print loop error.
-
- 5.0.4: Spooling now occurs to the user folder if you booted over AppleShare.
-
- 5.0.4: Changed spacing around the "/" in the top line of the dialog boxes.
-
- 5.0.4: More robust and correct error checking implemented.
-
- 5.0.4: Both the Open and PicFile routines now call the idle procedure at the
- beginning and exit if the error status is set. This makes the driver work
- better with those programs that patch out the Event Manager (like HyperCard
- IIGS...)
-
- Fixed bug that caused vertical repeating. Fixed by forcing band buffer to
- clear each time.
-
- Hitting command-period right after Job Dialog OK would cause crashing due to
- calling PrDevClose w/o PrDevOpen. Fixed.
-
- Change-color-table PicComment implemented.
-
- LaserWriter v3.0.1
-
- Fixed bug that sometimes caused font lists from the LaserWriter to appear in
- the status dialog. The driver was skipping some bytes in a PrAsyncDevRead
- (PAP read) call.
-
- Changed "pop=flush" to "pop = flush" in the prep file (internal) to prevent
- a PostScript error when running out of VM in the printer.
-
- Corrected other small bugs relating to PostScript and typographical errors.
-
- Modem v2.1
-
- Timeout on the PrDevRead call changed. If the currently-installed printer
- driver is less than v4.0, then the timeout delay on the read call is
- unaffected; otherwise, it is about 2 seconds (the old delay remains at about
- 45 seconds).
-
- Added direct-to-SCC-chip write for true 19.2Kbaud.
-
- Added a zap ("Ignore all subsequent ^I commands") command to DevOpen, so
- that Ctrl-Is ($09 or $89) in the data stream won't be interpreted and
- filtered out by the firmware. Removed similar zap code from DevRead.
-
- Modified the stack offset for DevAsyncRead to not include direct page and bank
- address since the call never switches direct page.
-
- Printer v2.1
-
- Timeout on the PrDevRead call changed. If the currently installed printer
- driver is less than v4.0, then the timeout delay on the read call is
- unaffected; otherwise, it is about 2 seconds (the old delay remains at about
- 45 seconds).
-
- Added direct-to-SCC-chip write for true 19.2Kbaud.
-
- Added a zap ("Ignore all subsequent ^I commands") command to DevOpen, so
- that Ctrl-Is ($09 or $89) in the data stream won't be interpreted and filtered
- out by the firmware. Removed similar zap code from DevRead.
-
- Modified the stack offset for DevAsyncRead to not include direct page and bank
- address since the call never switches direct page.
-
- GS/OS Changes:
-
- GS/OS (composed of the files GS.OS, GS.OS.Dev, and Start.GS.OS):
-
- SCM (System Call Manager)
-
- Removed code that checks for more than 65535 unclaimed interrupts and calls
- the subroutine that displays the dialog box. There seems to be a problem with
- the 6551 chip used in several internal modems that cause spurious interrupts
- to be generated. This caused GS/OS to generate the unclaimed interrupt error
- dialog which caused problems for those who were doing remote downloads since
- the dialog required a response from the user.
-
- Fixed bugs in make_seg, deallocate, and lock/unlock_mem which were using
- 16-bit addressing when the data bank register was not set correctly, so SCM
- was stomping on memory and not unlocking some handles.
-
- Incorporated a bug fix where SCM was erroneously reporting 65536 unclaimed
- interrupts.
-
- Fixed a bug in the notification queue where the event code was being lost if
- a Notify Proc generated another event.
-
- System Error Messages
-
- Changed text of unclaimed interrupt error message to send the user to their
- Apple dealer, instead of a fatal message.
-
- ExpressLoad
-
- Unloading a dynamic segment by address was not working reliably. When the
- address of a procedure within a dynamic segment was passed which hadn't been
- used yet, ExpressLoad looked at its jump table segment and assumed that, since
- the referenced entry hadn't been patched yet, it couldn't have been loaded
- yet. This has been corrected by having ExpressLoad always attempt to mark
- the dynamic segment as purgeable, whether it is in memory or not. Since it
- ignores a "Segment Not Found" error returned by at attempt to mark the dynamic
- segment as purgeable, this shouldn't cause any problems.
-
- GQuit
-
- GQuit's ProDOS 8 loading routines changed due to the new size and version of
- ProDOS 8 v1.9.
-
- Changed allocation of 64K buffer used to read the OS files from disk.
- Previously, it was allocated as locked, non-fixed, in no particular place in
- memory. This caused the Memory Manager to allocate the block high in memory.
- During the boot process, other handles are allocated as locked and never go
- away, effectively creating a very large free area high in memory (when this
- buffer is deallocated, that is) that can't be combined with the main portion
- of free memory (producing fragmentation).
-
- Calls to the Memory Manager CompactMem routine have been added prior to:
- a) Initializing SCM
- b) Initializing the Device Dispatcher
- c) Processing Tool.Setup
- d) Loading Desk Accessories
- e) Performing the Quit call to load and execute the "Start" program
-
- This should further reduce memory fragmentation that was occurring during
- booting.
-
- GQuit now masks off any irrelevant bits of the quit flags prior to sending
- the quit word to the UserShutdown function of the Loader.
-
- Device Manager
-
- D_Info call now respects the size of the supplied result buffer for the
- device name.
-
- Console.Driver
-
- The User Input Read routine was not updating the GS/OS direct page
- transfer_count field during the call. During investigation, it was noticed
- that the raw read routine had the same problem. Both routines have been
- fixed.
-
- SCSI.Manager (5.0.4)
-
- 5.0.4: Known bug: The SCSI Manager asks peripherals to return 256 bytes of
- status into an 8-byte buffer in the middle of the code. Most hard disks only
- return 8 bytes, but some peripherals return more, overwriting some Manager
- code and crashing during boot. This is not fixed in 5.0.4.
-
- 5.0.4: Changed the startup routines to not reset the SCSI bus, to prevent some
- peripherals from entering power-on diagnostics in the middle of the boot
- process (and also to keep the Rev. C SCSI Card from changing CD-ROMs back to
- 2K/block mode). The Manager version is now 5.4.
-
- Fixed Startup Call. If no hardware is found on startup, the bound IRQs will
- be Unbound now so that they are not left hanging.
-
- Designed to support both the old and the new SCSI cards. Modified to add
- support for the 1 meg transfer rate required by the new card. Also a number
- of format changes have taken place in the Manager that makes this a new
- environment.
-
- SCSICD.Driver
-
- Bug fixes.
-
- SCSIHD.Driver
-
- Added support for Extended Read and Write in the default command bitmap.
-
- Bug fixes.
-
- UniDisk 3.5 Driver
-
- While being warm-started (after a switch to GS/OS from P8), the parameter
- list used to download the disk-switched code to the drive was not being set up
- properly, resulting in the UniDisk failing to recognize disk-switched
- occurrences. This has been corrected. (Disk switches were still noticed if
- the driver was called while there was no disk online, so the problem was not
- obvious in applications like the Finder, which continually poll drives.)
-
- ATalk
-
- Changed the device characteristics of .RPM so that it no longer allows read
- access. DRead will no longer hang when issued to .RPM.
-
- Fixed a bug in the .RPM driver where it closed RPM without flushing unwritten
- data. Now calls PMFlushSession before closing .RPM.
-
- ATP2.ATRAM
-
- You no longer lose connections with servers when you change your machine's
- clock setting. The ToWriteTime routine is intercepted to keep AppleTalk aware
- of the current real time. (When you changed your clock, AppleTalk thought
- that a lot of real time had elapsed-often many hours-and caused all of its
- timers to expire, including the server session timers.)
-
- Fixed a bug in the FIAccess call where it assumed it was passed a complete
- pathname and returned an error $0A09 (volume not mounted) when a partial path
- was used.
-
- Added a new call (PMFlushSession, $48) to RPM to allow explicit flushing of
- unwritten data. This call causes the flush timer to complete immediately,
- causing buffered data to be written. The parameters are the same as those to
- PMCloseSession.
-
- HS.FST (High Sierra FST)
-
- Fixed the problem where the disk switched was being returned by the Volume
- call when High Sierra comes in before ProDOS in the FST calling loop (for
- example, when booting over AppleShare). It is important that the retry not
- happen in general, otherwise the FST will blindly read from the wrong disk if
- you swap disks.
-
- ProDOS.FST
-
- Fixed several problems related to the SetEOF fix implemented in earlier
- versions of System Disk 5.0.3. These could cause an error $2C (invalid device
- request count) to be returned by the FST if certain pairs of calls were
- executed in succession. Another problem would cause blocks to not get
- deallocated when cutting back a file's EOF across 64K boundaries.
-
- Fixed a bug where cutting back the EOF of a file with more than $8000 blocks
- allocated to it (counting index blocks) would never change the block count in
- the file's directory entry (that is, it would be "stuck" above $8000 for all
- time).
-
- Added support for the FLUSH_TYPE parameter for the Flush call. The Flush call
- now supports two types of flush: a "full" flush, which flushes a file's dirty
- data blocks and dirty directory blocks, and a "fast" flush which flushes dirty
- data blocks only. Note that Flush previously performed the "full" flush. The
- type of flush is specified in the parameter block by the caller. A fast flush
- is specified by specifying a FLUSH_TYPE of $8000.
-
- Fixed bug where SetFileInfo was not handling zeroed fields of the mod_date
- and create_date parameters correctly. If the entire parameter is zeroed, it's
- supposed to either use the current date (if its the mod_date parm) or leave it
- alone (if its the create_date). If only a portion of the field is zero,
- though, it should use the zero as the value to place in the directory entry.
- This is now the case.
-
- Fixed bug where SetEOF would trash a file when a call was made to move the
- EOF back or the same on a file which has a sparse area at the end (i.e.,
- sparsed-out blocks at the end of the block list) and the new EOF is still
- within the sparsed range. SetEOF now always views a change in the EOF as
- being relative to the position of the last physically allocated block in
- the file.
-
- Fixed a bug where a system crash was possible if a sequence of FST calls
- caused disk blocks to be freed and then re-allocated on the same volume.
-
- Fixed a bug in SetEOF. Under certain conditions, if the new EOF was not an
- even multiple of $200 file data could be corrupted.
-
- When the FST accesses a volume and then a new volume gets swapped into that
- same device, the FST now allows access to the new volume in that device when
- the device name is specified in the call. Previously, the FST would display a
- dialog box asking the user to insert the volume that was seen in that device
- before the swap.
-
- AppleShare FST (5.0.4)
-
- 5.0.4: Fixed the routines that shield and unshield the cursor while drawing
- the arrows in the menu bar during server access. These routines now save and
- restore the direct page locations documented in the January 1991 revision to
- Apple IIGS Technical Note #34, Low-Level QuickDraw II Routines.
-
- Fixed bug when switching between users with diskless booting. The system
- disk not recognize that the boot volume had been renamed.
-
- ProDOS 8 Version 1.9:
-
- Known Bugs:
-
- ProDOS 8 doesn't handle seedling sparse files correctly.
-
- SET_PREFIX "/" followed by a SET_PREFIX with a volume name without a slash
- sets the prefix to the first letter of the volume name.
-
- Changes:
-
- P8 had problems displaying the "program too large" message. This has been
- fixed.
-
- P8 could not load large system programs. When checking the size of the
- .SYSTEM program to be loaded at boot time, the code was comparing the second
- byte of the file's EOF to a constant $98. This limited the size of the
- program to 38K, when it could actually be 39.75K without interfering with
- ProDOS. The constant value has been changed to $9F.
-
- A second version of the Quit call handler has been added to the operating
- system. The new Quit code lets the user select the next application
- interactively instead of remebering and typing its pathname.
-
- The new quit code is only used on an 80-column Apple IIe or later when
- ProDOS 8 is booted directly (not when you have booted GS/OS). The original
- version of the quit code is automatically used on machines that don't have the
- necessary hardware to support the new code.
-
- BASIC.System v1.4.1
-
- Fixed a problem where the high byte of the ,B parameter was not being zeroed,
- causing BSAVE to create files with excessively large EOFs.
-
- CDev Changes:
-
- ATalk ImageWriter Printer CDev
-
- Fixed the bug with network booting as a guest. The CDev was trying to build
- a path to the user's ATINIT file. But the guest's user name is returned as
- the empty string (creating an invalid pathname). It now uses "<Any User>"
- instead of the empty string.
-
- Fixed text justification problems with static text controls (especially the
- titles above lists and line edits).
-
- Fixed problem with CDev not showing more than 3 ImageWriters on the net. It
- was incorrectly calling NewList2 with listStart=0 when no printer had been
- selected, and no printer matched the name in the Printer.Setup file. It now
- uses $FFFF for listStart (to keep the first item displayed the same as
- before).
-
- Fixed problem with crashing under low memory situations. It was possible
- for the CDev to get loaded in bank 0 which was causing the problem.
-
- ATalk ImageWriter LQ Printer CDev
-
- Fixed the bug with network booting as a guest. The CDev was trying to build
- a path to the user's ATINIT file. But the guest's user name is returned as
- the empty string (creating an invalid pathname). It now uses "<Any User>"
- instead of the empty string.
-
- Fixed text justification problems with static text controls (especially the
- titles above lists and line edits).
-
- Fixed problem with CDev not showing more than 3 ImageWriters on the net. It
- was incorrectly calling NewList2 with listStart=0 when no printer had been
- selected, and no printer matched the name in the Printer.Setup file. It now
- uses $FFFF for listStart (to keep the first item displayed the same as
- before).
-
- Fixed problem with crashing under low memory situations. It was possible
- for the CDev to get loaded in bank 0 which was causing the problem.
-
- ATalk LaserWriter Printer CDev
-
- Fixed the bug with network booting as a guest. The CDev was trying to build
- a path to the user's ATINIT file. But the guest's user name is returned as
- the empty string (creating an invalid pathname). It now uses "<Any User>"
- instead of the empty string.
-
- Fixed text justification problems with static text controls (especially the
- titles above lists and line edits).
-
- Fixed problem with crashing under low memory situations. It was possible
- for the CDev to get loaded in bank 0 which was causing the problem.
-
-
- Desk Accessories:
-
- VideoMix.NDA v1.3
-
- Fixed bug where hitting the <ESC> key when VideoMix NDA is up and no card is
- installed would crash the system.
-
-
- A.U.G. Changes:
- (Applications and Utilities Group)
-
- Installer v1.2
-
- If the last FileSpec in a script required no action to be taken the Installer
- would get confused and think there were more fields in the script. This has
- been fixed.
-
- Fixed bug where the Installer was incorrectly parsing the file spec field
- separator character "~" in the scripts.
-
-
- Installer Scripts:
-
- SCSI Hard Disk:
- This script now also deletes Times.12 to make room for the drivers.
-
- This script now deletes Shaston.16 to make room for the drivers.
-
- ACE Toolset:
- This is a new script for 5.0.3 that copies the ACE toolset.
-
- Additional Fonts:
- Times.12 is now copied from the System.Tools. disk.
-
- Changed to reflect the moving of Shaston.16 to System.Tools disk.
-
- AppleShare on 3.5 Disk:
- Changed to reflect the moving of Shaston.16 and Tool029 to the System.Tools
- disk.
-
- Latest Sys. Files (No Finder):
- Times.12 is now copied from the System.Tools. disk.
-
- Changed to reflect the moving of Shaston.16 and Tool029 to the System.Tools
- disk.
-
- Latest System Files:
- Times.12 is now copied from the System.Tools. disk.
-
- Changed to reflect the moving of Shaston.16 and Tool029 to the System.Tools
- disk.
-
- Local Network Startup:
- Changed to reflect the moving of Shaston.16 and Tool029 to the System.Tools
- disk.
-
- Server Network Startup:
- Times.12 is now copied from the System.Tools. disk.
-
- Changed to reflect the moving of Shaston.16 and Tool029 to the System.Tools
- disk.
-
- ------------------------------------------------------------------------------
-
- ConvSeconds $3703
-
- Allows conversion to and from a long integer containing the number of seconds
- Since January 1, 1904-the format used by the Macintosh operating system.
- ConvSeconds is provided to allow easier handling of dates in applications
- that work with several different date formats.
-
- Parameters
-
- Stack before call
-
- Previous contents
-
- | |
- | Space | Long-Space for result
- | |
- |-----------------|
- | convVerb | Word-Direction and type of conversion
- |-----------------|
- | |
- | seconds | Long-Number of seconds since January 1, 1904
- | |
- |-----------------|
- | |
- | datePtr | Long-Pointer to buffer for converted date
- | |
- |-----------------|
- <-SP
-
- Stack after call
-
- Previous contents
-
- | |
- | secondsOut | Long-resulting number of seconds
- | |
- |-----------------|
- <-SP
-
- Errors $0390 badTimeVerb Invalid convVerb value
- $0391 badTimeData Invalid date or time to be converted
-
- C extern pascal unsigned long convSeconds(convVerb, seconds, datePtr);
- unsigned Word convVerb;
- unsigned Long seconds;
- Pointer datePtr;
-
- convVerb The type and direction for the conversion. Valid verbs are:
-
- 0 from seconds to the Miscellaneous Tools ReadTimeHex
- format
- 1 from the Miscellaneous Tools ReadTimeHex format to
- seconds
- 2 from seconds to ASCII text (ReadTimeASCII format)
- 3 not implemented
- 4 from seconds to ProDOS date/time format
- 5 from ProDOS date/time format to seconds
- 6 return the current time in seconds
- 7 set the current time from seconds
- 8 from the Miscellaneous Tools ReadTimeHex format to
- ProDOS date/time format
- 9 from ProDOS date/time format to the Miscellaneous Tools
- ReadTimeHex format
- 10 from seconds to HyperCard IIgs format
- 11 from HyperCard IIgs format to seconds
-
- HyperCard IIgs format is the same as the Miscellaneous Tools
- ReadTimeHex format except that the bytes for the month and the
- day are one-based instead of zero-based.
-
- seconds The input number of seconds since January 1, 1904 for all
- conversions that convert from a number of seconds to a
- different format, as well as for setting the current time.
- Conversions to a number of seconds since January 1, 1904
- ignore this parameter, although it must be present.
-
- datePtr Pointer to a buffer for all input and output values that are not
- a number of seconds since January 1, 1904. Conversions from a
- number of seconds will place the results in the buffer pointed
- to by datePtr; conversions to a number of seconds will get the
- source from a record pointed to by datePtr. When converting
- between two formats that are not seconds, the input pointed to
- by datePtr will be overwritten by the output.
-
- WARNING: The buffer pointed to by datePtr must always be at least 8
- bytes long and must be at least 40 bytes long when converting to
- ASCII format. ConvSeconds will overwrite the first eight bytes
- of the buffer pointed to by datePtr even if the input is less
- than eight bytes long.
-
- secondsOut The output number of seconds since January 1, 1904 for all
- conversions that convert from any other format to a number of
- seconds. Conversions from a number of seconds since January 1,
- 1904 do not use this result space, although it must be present.
-
- NOTE: In System Software version 5.0.4, ConvSeconds can return with
- the carry set and zero in the accumulator when no error
- occurred. Also, an invalid convVerb value of 12 does not return
- an error as it should.
-